package org.baicaixiaozhan.tenet.freemarker.util;

import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.util.Map;

/**
 * DESC:
 *
 * @author baicaixiaozhan
 * @since 1.0.0
 */
public interface DocFileOpt {

    /**
     * 获取生成的文件对象
     *
     * @return
     */
    default File getFile() { return null; }

    /**
     * 当前使用的文件对象属于临时文件，可手动删除
     */
    default void deleteFile() {}

    /**
     * 生成 *.doc 文件
     *
     * @param data
     * @param templateName
     * @return
     */
    default DocFileOpt buildDocFile(Map<String, String> data, String templateName) { return null; }

    /**
     * 生成 *.doc 文件
     *
     * @param data
     * @param templateName
     * @return
     */
    default <T> DocFileOpt buildDocFile(T data, String templateName) { return null; }

    /**
     * doc 文件只读
     *
     * @param password
     * @return
     */
    default DocFileOpt readOnlyDocFile(String password) { return null; }

    /**
     * 下载文件
     *
     *  @param fileName
     * @param response
     */
    default void downloadDocFile(String fileName, HttpServletResponse response) {}

    default void convertDocToHtml(HttpServletResponse response) {}
}
